import { defineStore } from 'pinia';
import type { UserVO } from '@/types/user';
import { ref } from 'vue';

export const useUserStore = defineStore(
    'user',
    () => {
        // 会员信息
        const profile = ref<UserVO>();

        // 保存会员信息，登录时使用
        const setProfile = (val: UserVO) => {
            profile.value = val;
        };

        // 清理会员信息，退出时使用
        const clearProfile = () => {
            profile.value = undefined;
        };

        // 记得 return
        return {
            profile,
            setProfile,
            clearProfile
        };
    },
    {
        // 网页端配置
        // persist: true,
        // 小程序端配置
        persist: {
            storage: {
                getItem(key) {
                    return uni.getStorageSync(key);
                },
                setItem(key, value) {
                    uni.setStorageSync(key, value);
                }
            }
        }
    }
);
